package 校测第一次模拟;

/**
 * 小蓝在一张无限大的特殊画布上作画。
 * <p>
 * 这张画布可以看成一个方格图，每个格子可以用一个二维的整数坐标表示。
 * <p>
 * 小蓝在画布上首先点了一下几个点：
 * (0, 0), (2020, 11), (11, 14), (2000, 2000)。
 * <p>
 * 只有这几个格子上有黑色，其它位置都是白色的。
 * <p>
 * 每过一分钟，黑色就会扩散一点。具体来说，如果一个格子里面是黑色，它就会扩散到上、下、左、右四个相邻的格子中，使得这四个格子也变成黑色（如果原来就是黑色，则还是黑色）。
 * <p>
 * 请问，经过 2020 分钟后，画布上有多少个格子是黑色的？
 */
public class test3 {
    public static void main(String[] args) {
        // 存储结果
        int res = 0;
        // 判断是否为黑色
        for (int i = -2020; i <= 4040; i++) {
            for (int j = -2020; j <= 4020; j++) {
                // 如果横纵坐标之和（距离 4 个点的距离）小于等于2020，则该点为黑色
                if (Math.abs(i) + Math.abs(j) <= 2020 ||
                        Math.abs(i - 2020) + Math.abs(j - 11) <= 2020 ||
                        Math.abs(i - 11) + Math.abs(j - 14) <= 2020 ||
                        Math.abs(i - 2000) + Math.abs(j - 2000) <= 2020
                ) {
                    res++;
                }
            }
        }
        System.out.println(res);
    }

}
